Dynamic bridge for object transfer

ABSTRACT

A request for a first dynamic bridge end is received at a first device. A capability for a second dynamic bridge end is transmitted to a second device. At least one of the first dynamic bridge end and the second dynamic bridge end have a movable end point location. The first dynamic bridge end and the second dynamic bridge end create a path for transmission of an object.

BACKGROUND OF THE INVENTION

This disclosure relates to collaborative sharing, and more particularlyto the transfer of objects between locations.

An important aspect of collaboration is sharing. For example,collaboration could include the sharing of emails or files throughsending the object from one person to another, or through placing theobjects shared folders, which the collaborating parties may be able toaccess. Many types of objects can be shared by attaching to, orembedding in an email. Similarly, people may place documents for sharinginto teamrooms, or other collaborative spaces.

In current paradigms an object starts out in an object repository (or adefacto repository associated with composition software, such as anemail residing within a folder of an email client). The object may thenbe placed in, copied to, emailed to, or file transferred to anotherrepository. This transfer could be synchronous or asynchronous. Theobject may originate from and be sent to either a private or sharedrepository.

This object transfer while often simple is labor intensive on both thesender and receiver if many objects are to be sent. Further there aredifficulties if the sending and receiving repositories are different. Asender may wish to send an email. The recipient may wish to store theemail in the operating system file system, and not within an emailparadigm. Therefore, transcoding for object repository or othercompatibility may be required.

BRIEF SUMMARY OF THE INVENTION

In a first implementation, a method includes receiving a request for afirst dynamic bridge end at a first device. A capability for a seconddynamic bridge end is transmitted to a second device. At least one ofthe first dynamic bridge end and the second dynamic bridge end have amovable end point location. The first dynamic bridge end and the seconddynamic bridge end create a path for transmission of an object.

In another implementation, a computer program product includes acomputer readable storage medium having computer readable program codeembodied therewith. The computer readable program code includes computerreadable program code configured to receive a request for a firstdynamic bridge end at a first device. The computer readable program codealso includes computer readable program code configured to transmit acapability for a second dynamic bridge end to a second device. At leastone of the first dynamic bridge end and the second dynamic bridge endhave a movable end point location. The first dynamic bridge end and thesecond dynamic bridge end create a path for transmission of an object.

In yet another implementation, a computing system includes a processorand a memory module coupled with the processor. A first software moduleis executable by the processor and the memory module. The first softwaremodule is configured to receive a request for a first dynamic bridge endat a first device. A second software module is executable by theprocessor and the memory module. The second software module isconfigured to transmit a capability for a second dynamic bridge end to asecond device. At least one of the first dynamic bridge end and thesecond dynamic bridge end has a movable end point location. The firstdynamic bridge end and the second dynamic bridge end create a path fortransmission of an object.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features andadvantages will become apparent from the description, the drawings, andthe claims.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a diagrammatic view of a dynamic bridge process and an emailsystem coupled to a distributed computing network.

FIG. 2 is a flowchart of the dynamic bridge process of FIG. 1.

FIG. 3 is a diagrammatic view of a display screen rendered by an emailclient application and/or the dynamic bridge process of FIG. 1.

FIG. 4 is a diagrammatic view of a display screen rendered by the emailclient application and/or the dynamic bridge process of FIG. 1.

FIG. 5 is a diagrammatic view of a display screen rendered by the emailclient application and/or the dynamic bridge process of FIG. 1.

FIG. 6 is a diagrammatic view of a display screen rendered by the emailclient application and/or the dynamic bridge process of FIG. 1.

FIG. 7 is a diagrammatic view of a display screen rendered by the emailclient application and/or the dynamic bridge process of FIG. 1.

FIG. 8 is a diagrammatic view of a user interface desktop of a clientelectronic device of FIG. 1.

FIG. 9 is a diagrammatic view of a display screen rendered by the emailclient application and/or the dynamic bridge process of FIG. 1.

DETAILED DESCRIPTION OF THE INVENTION

As will be appreciated by one skilled in the art, the present inventionmay be embodied as a system, method or computer program product.Accordingly, the present invention may take the form of an entirelyhardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module” or “system.” Furthermore,the present invention may take the form of a computer program productembodied in one or more computer-readable (i.e., computer-usable)medium(s) having computer-usable program code embodied thereon.

Any combination of one or more computer-readable medium(s) may beutilized. The computer-readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer-readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, a device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer-readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. Note that the computer-readable storage medium could even bepaper or another suitable medium upon which a program is printed, as theprogram can be electronically captured, via, for instance, opticalscanning of the paper or other medium, then compiled, interpreted, orotherwise processed in a suitable manner, if necessary, and then storedin a computer memory. In the context of this document, acomputer-readable storage medium may be any medium that can contain, orstore a program for use by or in connection with an instructionexecution system, apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer-usable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof, Acomputer readable signal medium may be any computer-readable medium thatcan contain, store, communicate, propagate, or transport a program foruse by or in connection with an instruction execution system, apparatus,or device.

Program code embodied on a computer-readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc.

Computer program code for carrying out operations of the presentinvention may be written in an object oriented programming language suchas Java, Smalltalk, C++ or the like. However, the computer program codefor carrying out operations of the present invention may also be writtenin conventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codemay execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

The present invention is described below with reference to flowchartillustrations and/or block diagrams of methods, apparatus (systems) andcomputer program products according to embodiments of the invention. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

Referring to FIG. 1, there is shown dynamic bridge process 10 that mayreside on and may be executed by server computer 12, which may beconnected to network 14 (e.g., the Internet or a local area network).Examples of server computer 12 may include, but are not limited to: apersonal computer, a server computer, a series of server computers, amini computer, and a mainframe computer. Server computer 12 may be a webserver (or a series of servers) running a network operating system,examples of which may include but are not limited to: Microsoft®Windows® XP Server; Novell® NetWare®; or Red Hat® Linux®, for example(Microsoft and Windows are registered trademarks of MicrosoftCorporation in the United States, other countries or both; Novell andNetWare are registered trademarks of Novell Corporation in the UnitedStates, other countries or both; Red Hat is a registered trademark ofRed Hat Corporation in the United States, other countries or both; andLinux is a registered trademark of Linus Torvalds in the United States,other countries or both), for example. Alternatively, the dynamic bridgeprocess may reside on and be executed, in whole or in part, by a clientelectronic device, such as a personal computer, notebook computer,personal digital assistant, or the like.

As will be discussed below in greater detail, dynamic bridge process 10may receive a request for a first dynamic bridge end at a first device.Dynamic bridge process may also transmit a capability for a seconddynamic bridge end to a second device. At least one of the first dynamicbridge end and the second dynamic bridge end may have a movable endpoint location. The first dynamic bridge end and the second dynamicbridge end may create a path for transmission of an object. The objectmay be stored on a computer readable medium (e.g., a hard disk drive; asolid state drive, a tape drive; an optical drive; a RAID array; arandom access memory (RAM); and a read-only memory (ROM))

The instruction sets and subroutines of dynamic bridge process 10, whichmay include one or more software modules, and which may be stored onstorage device 16 coupled to server computer 12, may be executed by oneor more processors (not shown) and one or more memory modules (notshown) incorporated into server computer 12. Storage device 16 mayinclude but is not limited to: a hard disk drive; a solid state drive, atape drive; an optical drive; a RAID array; a random access memory(RAM); and a read-only memory (ROM).

Server computer 12 may execute a web server application, examples ofwhich may include but are not limited to: Microsoft IIS, NovellWebserver™, or Apache® Webserver, that allows for HTTP (i.e., HyperTextTransfer Protocol) access to server computer 12 via network 14(Webserver is a trademark of Novell Corporation in the United States,other countries, or both; and Apache is a registered trademark of ApacheSoftware Foundation in the United States, other countries, or both).Network 14 may be connected to one or more secondary networks (e.g.,network 18), examples of which may include but are not limited to: alocal area network; a wide area network; or an intranet, for example.

Server computer 12 may execute email server application 20, examples ofwhich may include but are not limited to, e.g., IBM® Lotus® Domino®Server and Microsoft Exchange® Server (IBM, Lotus, and Domino areregistered trademarks of International Business Machines Corporation inthe United States, other countries or both; Exchange is a registeredtrademark of Microsoft Corporation in the United States, other countriesor both). Email server application 20 may be a mail transfer agent thatmay allow for the exchange of email communications via email clientapplications, e.g., email client applications 22, 24, 26, 28, examplesof which may include but are not limited to Lotus Notes® and MicrosoftOutlook® (Lotus Notes is a registered trademark of InternationalBusiness machines Corporation in the United States, other countries, orboth; and Outlook is a registered trademark of Microsoft Corporation inthe United States, other countries, or both). Dynamic bridge process 10may be a stand alone application. As a stand alone application dynamicbridge process 10 may interface with a communication network (e.g., anemail system by interfacing with email server application 20).Additionally/alternatively, dynamic bridge process 10 may be anapplet/application/scrip that may interact with and/or be executedwithin the environment of a communication application (e.g., maybeexecuted within email server application 20).

The instruction sets and subroutines of email server application 20,which may be stored on storage device 16 coupled to server computer 12may be executed by one or more processors (not shown) and one or morememory modules (not shown) incorporated into server computer 12.

In addition/as an alternative to being a server-based applicationresiding on server computer 12, the dynamic bridge process may be aclient-side application residing on a storage device (e.g., stored onstorage devices 30, 32, 34, 36) coupled to one or more client electronicdevices (e.g., client electronic devices 38, 40, 42, 44, respectively).Similarly, the dynamic bridge process may include more than oneclient-side application, e.g., each of which may reside on a storagedevice (e.g., be stored on storage devices 30, 32, 34, and/or 36)coupled to one or more respective client electronic devices (e.g.,client electronic devices 38, 40, 42, and/or 44, respectively). As oneor more client side application, the dynamic bridge process may be astand alone application. As one or more stand alone application(s) thedynamic bridge process may interface with a communication network (e.g.,an email system by interfacing with an email client application).Additionally/alternatively, the one or more client-side dynamic bridgeprocess may be an applet/application/scrip that may interact with and/orbe executed within the environment of a communication application (e.g.,may be executed within an email client application). Accordingly,dynamic bridge process may be a server-side process, a client-sideprocess, multiple client-side processes (e.g., which may interact withone another and/or one or more server side processes), and/or may be ahybrid client-side/server-side process, which may be executed, in wholeor in part, by a client electronic device, by a server computer, and/orjointly by a client electronic device and a server computer.

The instruction sets and subroutines of email client applications 22,24, 26, 28, which may be stored on storage devices 30, 32, 34, 36(respectively) coupled to client electronic devices 38, 40, 42, 44(respectively), may be executed by one or more processors (not shown)and one or more memory modules (not shown) incorporated into clientelectronic devices 38, 40, 42, 44 (respectively). Storage devices 30,32, 34, 36 may include but are not limited to: hard disk drives; solidstate drives, tape drives; optical drives; RAID arrays; random accessmemories (RAM); read-only memories (ROM), compact flash (CF) storagedevices, secure digital (SD) storage devices, and a memory stick storagedevices. Examples of client electronic devices 38, 40, 42, 44 mayinclude, but are not limited to, personal computer 38, laptop computer40, personal digital assistant 42, notebook computer 44, a data-enabled,cellular telephone (not shown), and a dedicated network device (notshown), for example. Using email client applications 22, 24, 26, 28,users 46, 48, 50, 52 may access email server application 20 and mayallow users to e.g., create email, send email, receive email, and thelike.

Users 46, 48, 50, 52 may access email server application 20 directlythrough the device on which the email client application (e.g., emailclient applications 22, 24, 26, 28) is executed, namely clientelectronic devices 38, 40, 42, 44, for example. Users 46, 48, 50, 52 mayaccess email server application 20 directly through network 14 orthrough secondary network 18. Further, server computer 12 (i.e., thecomputer that executes email server application 20) may be connected tonetwork 14 through secondary network 18, as illustrated with phantomlink line 54.

The various client electronic devices may be directly or indirectlycoupled to network 14 (or network 18). For example, personal computer 38is shown directly coupled to network 14 via a hardwired networkconnection. Further, notebook computer 44 is shown directly coupled tonetwork 18 via a hardwired network connection. Laptop computer 40 isshown wirelessly coupled to network 14 via wireless communicationchannel 56 established between laptop computer 40 and wireless accesspoint (i.e., WAP) 58, which is shown directly coupled to network 14. WAP58 may be, for example, an IEEE 802.11a, 802.11b, 802.11g, Wi-Fi, and/orBluetooth device that is capable of establishing wireless communicationchannel 56 between laptop computer 40 and WAP 58. Personal digitalassistant 42 is shown wirelessly coupled to network 14 via wirelesscommunication channel 60 established between personal digital assistant42 and cellular network/bridge 62, which is shown directly coupled tonetwork 14.

As is known in the art, all of the IEEE 802.11x specifications may useEthernet protocol and carrier sense multiple access with collisionavoidance (i.e., CSMA/CA) for path sharing. The various 802.11xspecifications may use phase-shift keying (i.e., PSK) modulation orcomplementary code keying (i.e., CCK) modulation, for example. As isknown in the art, Bluetooth is a telecommunications industryspecification that allows e.g., mobile phones, computers, and personaldigital assistants to be interconnected using a short-range wirelessconnection.

Client electronic devices 38, 40, 42, 44 may each execute an operatingsystem, examples of which may include but are not limited to MicrosoftWindows, Microsoft Windows CEO, Red Hat Linux, or a custom operatingsystem (Windows CE is a registered trademark of Microsoft Corporation inthe United States, other countries, or both).

Referring to FIG. 2, dynamic bridge process 10 may generally provide amethod that may allow users to share objects with one another. As usedherein, objects may include, but are not limited to, electronic files,email messages, folders, software (e.g., applications, executable code,scripts and the like) or any other data object (e.g., that may reside onand/or be stored by a computing device or storage device and/ortransferred electronically). As will be discussed in greater detailbelow, the method may generally include receiving a request for a firstdynamic bridge end (at process block 100) at a first device. The methodmay further include transmitting a capability for a second dynamicbridge end (at process block 102) to a second device. At least one ofthe first dynamic bridge end and the second dynamic bridge end may havea movable end point location. The first dynamic bridge end and thesecond dynamic bridge end may create a path for transmission of anobject.

As stated above, at process block 100, the method may include receivinga request for a first dynamic bridge end at a first device, and atprocess block 102 the method may include transmitting a capability for asecond dynamic bridge end to a second device. Transmitting a capabilityfor the second dynamic bridge end to the second device may includetransmitting the information necessary to create the second dynamicbridge end at the second device. The first device may be a servercomputer and/or the first device may be a client device. Similarly, thesecond device may be a server computer and/or the second device may be aclient device. The first dynamic bridge end and the second dynamicbridge end may include a reference to one another. The reference mayinclude a respective (or a shared) identifier, location information, orthe like that may be associated with the first dynamic bridge end and/orthe second dynamic bridge end. The reference may be associated with eachrespective dynamic bridge end. Additionally/alternatively, the referencemay be stored on a server.

The first dynamic bridge end and the second dynamic bridge end may eachbe, for example, an application, applet, script, shortcut, or the like.As such, while including a reference to one another, the first dynamicbridge end and the second dynamic bridge end may each be a distinctentity. Further, at least one of the first dynamic bridge end and thesecond dynamic bridge end may have a movable end point location. The endpoint location of each of the first dynamic bridge end and the seconddynamic bridge end may be the respective location (e.g., on a desktop ofa client device, within a mailbox or folder of an email repository,within a file system, document repository, or the like) of the firstdynamic bridge end and the second dynamic bridge end. Further, the endpoint location of the first dynamic bridge end and the end pointlocation of the second dynamic bridge end may define origination anddestination locations for object being transferred (at process block104) via the dynamic bridge including the first dynamic bridge end andthe second dynamic bridge end (e.g., via the path for transmission of anobject created by the first dynamic bridge end and the second dynamicbridge end).

The end point location of at least one of the first dynamic bridge endand the second dynamic bridge end may be movable, e.g., bydrag-and-dropping (e.g., using an onscreen pointing device) the dynamicbridge end from one location to another (e.g., from one location withina file system to another location within the file system, etc.), bycut-and-pasting the dynamic bridge end from one location to another(e.g., from a desktop of a client device to an email folder within anemail system). Similarly, the end point location of the first dynamicbridge end and/or the second dynamic bridge end may be movable viareplication. For example, the first dynamic bridge end and/or the seconddynamic bridge end may be copied. The end point location of the originaldynamic bridge end may have a first location (e.g., within a file systemor the like) and the copy of the dynamic bridge end may be placed in asecond location (e.g., by moving, or pasting, the copy of the dynamicbridge end in the second location, by sending the copy of the dynamicbridge end to another user/client electronic device, or the like).

Receiving the request for the first dynamic bridge end and transmittingthe capability for the second dynamic bridge end (at process blocks 100and 102 respectively) may include defining one or more attributes of adynamic bridge including the first dynamic bridge end and the seconddynamic bridge end. Attributes of the dynamic bridge including the firstdynamic bridge end and the second dynamic bridge end may be based upon,at least in part, user input, system settings, defined rules, or thelike. Attributes of the dynamic bridge may include, for example, objecttransfer directionality (e.g., objects may only be transferred from thefirst dynamic bridge end to the second dynamic bridge end, orvice-versa, or objects may be bi-directionally transferred to and fromeach of the first dynamic bridge end and the second dynamic bridge end,etc.), replication permissions for the first dynamic bridge end and thesecond dynamic bridge end (e.g., permission to copy either of thedynamic bridge ends), and the like. The number and nature of theattributes that may be defined for the first dynamic bridge end and/orthe second dynamic bridge end may vary according to design preferenceand user need.

In addition to having movable end point locations, the first dynamicbridge end may be capable of being associated with a first clientdevice, and the second dynamic bridge end may be capable of beingassociated with a second client device. Associating the first dynamicbridge end with the first client device and associating the seconddynamic bridge end with the second client device, may allow objects tobe transferred between the first client device and the second clientdevice via a dynamic bridge including the first dynamic bridge end andthe second dynamic bridge end. According to an embodiment, receiving therequest for the first dynamic bridge end (at process block 100) mayresult in generating the first dynamic bridge end on the first clientelectronic device and/or sending the first dynamic bridge end to thefirst client electronic device (e.g., from a server computer), therebyassociating the first dynamic bridge end with the first clientelectronic device. Similarly, transmitting the capability for the seconddynamic bridge end (at process block 102) may include transmitting(e.g., from a server computer and/or from the first client electronicdevice) the second dynamic bridge end (and/or information necessary tocreate the second dynamic bridge end) to the second client electronicdevice, thereby associating the second dynamic bridge end with thesecond client electronic device. Additionally/alternatively,transmitting the capability for the second dynamic bridge end (atprocess block 102) to a second device may result in generating thesecond dynamic bridge end on the second client electronic device

In an embodiment in which the first dynamic bridge end may have amovable end point location, once the first dynamic bridge end has beenassociated with the first client electronic device, the first dynamicbridge end may be moved to a desired location (e.g., bydrag-and-dropping, cut-and-pasting, etc., the first dynamic bridge endto the desired location). Similarly, once the second dynamic bridge endhas been associated with the second client electronic device, the seconddynamic bridge end may be moved to a desired location (e.g., bydrag-and-dropping, cut-and-pasting, etc., the second dynamic bridge endto the desired location). As discussed above, moving the first dynamicbridge end to a desired location and/or moving the second dynamic bridgeend to a desired location may specify desired origination anddestination points for objects transferred via the dynamic bridgeincluding the first dynamic bridge end and the second dynamic bridgeend.

The first dynamic bridge end and the second dynamic bridge end maycreate a path for transmission of an object. As such, an object may betransferred between the first dynamic bridge end and the second dynamicbridge end, at process block 104, via the path for transmission of theobject. The path for transmission of the object may include acommunication link. The communication link may include any communicationnetwork and scheme. For example the communication link may utilize anemail system. In such an embodiment, the object may be transferredbetween the first dynamic bridge end and the second dynamic bridge endusing simple mail transfer protocol (SMTP), or other email protocolutilized by the email system. In addition/as an alternative to utilizingan email communication network for transferring the object between thefirst dynamic bridge end and the second dynamic bridge end, othercommunication networks and protocols (e.g., a messaging orientedmiddleware such as WebSphere MQ running over TCP/IP, an EnterpriseService Bus such as WebSphere ESB available from IBM Web Services usingSOAP (simple object access Protocol) over HTTP file transfer) maysimilarly be utilized. WebSphere is a registered trademark ofInternational Business Machines Inc. in the United States, othercountries, or both.

Various communication network adapters may be utilized by the firstdynamic bridge end and the second dynamic bridge end for transferringobjects over a given communication network. The adapters may interfacewith the communication network and/or an application that interfacedwith the communication network for the purposed of transferring objects.The type of communication network utilized by the first dynamic bridgeend and the second dynamic bridge end may be established when therequest for the first dynamic bridge end is received, and when thecapability for the second dynamic bridge end is transmitted, at processblocks 100 and 102, respectively (e.g., by the inclusion of an adapterfor transferring objects over a specific communication network).Additionally/alternatively, the first dynamic bridge end and the seconddynamic bridge end may each include a plurality of adapters allowingobjects to be transferred over various communication networks. In suchan example, the communication network utilized for transferring anobject between the first dynamic bridge end and the second dynamicbridge end, at process block 104, may be selected at the time oftransfer. The communication network may be selected based upon, forexample, available communication networks at the time of transfer,quality of service of available communication networks, the size of theobject to be transferred, and the like.

Transferring an object between the first dynamic bridge end and thesecond dynamic bridge end may include transferring the object inresponse to the object being dragged onto an icon representing one ofthe first dynamic bridge end and the second dynamic bridge end. Thefirst dynamic bridge end and/or the second dynamic bridge end may berepresented by a graphical feature (e.g., an icon) within a userinterface, e.g., of a client electronic device associated with thedynamic bridge end. In order to transfer an object between the firstdynamic bridge end and the second dynamic bridge end, a user may dragthe object (e.g., a graphical feature representing the object within thegraphical user interface) onto the icon representing the first dynamicbridge end or the second dynamic bridge end. In response to the object(e.g., a graphical feature representing the object) being dragged ontothe icon representing one of the first dynamic bridge end and the seconddynamic bridge end, the method may include transferring the object tothe other of the first dynamic bridge end and the second dynamic bridgeend, at process block 104.

Depending upon user preference and system configuration, dragging theobject onto the icon representing one of the first dynamic bridge endand the second dynamic bridge end may result in a copy-transfer or acut-transfer of the object to the other of the first dynamic bridge endand the second dynamic bridge end. In the case of a copy-transfer of theobject, the object may be copied, and the copy of the object may betransferred to the other dynamic bridge end. The original object (or acopy of the object) may be retained, e.g., on the client electronicdevice of the originating dynamic bridge end (i.e., client electronicdevice associated with the dynamic bridge end from which the object isbeing transferred). In the case of a cut-transfer, the object (or a copyof the object) may be transferred to the other dynamic bridge end (e.g.,the receiving or destination dynamic bridge end). The object may bedeleted from the client electronic device associated with theoriginating dynamic bridge end. As such, a copy of the object may not beretained on the client electronic device associated with the originatingdynamic bridge end.

Transferring the object between the first dynamic bridge end and thesecond dynamic bridge end, at process block 104, may includeestablishing a communication link between the first dynamic bridge endand the second dynamic bridge end, at process block 106. As discussedabove, the first dynamic bridge end and the second dynamic bridge endmay each include an application, an applet, a script, a shortcut or thelike. Accordingly, the first dynamic bridge end and the second dynamicbridge end may establish a communication link directly (at process block106) between one another (e.g., using any appropriate communicationnetwork). Additionally/alternatively, the first dynamic bridge end andthe second dynamic bridge end may interface with an applicationassociated with a communication network (e.g., an email application, aweb browser, an instant messaging application, message-orientedmiddleware, enterprise service bus, or the like). Accordingly,establishing a communication link between the first dynamic bridge endand the second dynamic bridge end may include establishing acommunication link directly between the first dynamic bridge end and thesecond dynamic bridge end and/or establishing a communication linkbetween the first dynamic bridge end and the second dynamic bridge endvia an application associated with a communication network.

Additionally, establishing a communication link between the firstdynamic bridge end and the second dynamic bridge end, at process block106, may include ascertaining a location of the first dynamic bridge endand/or the second dynamic bridge end. For example, as discussed above,the first dynamic bridge end and the second dynamic bridge end may bemovable (e.g., may have a movable end point location). As such,establishing the communication link between the first dynamic bridge endand the second dynamic bridge end, at process block 106, may includeascertaining a location of the first dynamic bridge end and the seconddynamic bridge end in order to establish the communication linktherebetween.

According to an embodiment, ascertaining the location of the firstdynamic bridge end and/or the second dynamic bridge end may occurwhenever one of the dynamic bridge ends is moved. For example, wheneverone of the first dynamic bridge end and/or the second dynamic bridge endare moved (e.g., as discussed above), the dynamic bridge end that wasmoved may report its new location. Reporting the new location of thefirst dynamic bridge end or the second dynamic bridge end may utilize apeer to peer scheme, in which the moved dynamic bridge end may reportits new location directly to the other dynamic bridge end (e.g., basedupon known location information included in the reference between thetwo dynamic bridge ends created when the first dynamic bridge end andthe second dynamic bridge end were initially generated).

Additionally/alternatively, reporting the new location of the firstdynamic bridge end and/or the second dynamic bridge end may utilize acentralized reporting scheme. For example, each of the first dynamicbridge end and the second dynamic bridge end may report its respectivelocation to a dynamic bridge server (e.g., which may manage the dynamicbridge including the first dynamic bridge end and the second dynamicbridge end). The dynamic bridge server may store the location of each ofthe first dynamic bridge end and the second dynamic bridge end. In theevent that that the first dynamic bridge end and/or the second dynamicbridge end is moved, the moved dynamic bridge end may report its newlocation to the dynamic bridge server. The dynamic bridge server maystore the new location of the moved dynamic bridge end. Additionally,the dynamic bridge server may transmit the new location of the moveddynamic bridge end to the other dynamic bridge end. In such anembodiment, the first dynamic bridge end and the second dynamic bridgeend may be updated as to the location of the other dynamic bridge end(e.g., in the event that one of the first dynamic bridge end and thesecond dynamic bridge end is moved). Accordingly, even in the event thatone of the first dynamic bridge end and the second dynamic bridge endhas been moved, a communication link may be established between thefirst dynamic bridge end and the second dynamic bridge end, at processblock 106.

In addition/as an alternative to establishing a direct communicationlink between the first dynamic bridge end and the second dynamic bridgeend, establishing the communication link between the first dynamicbridge end and the second dynamic bridge end (at process block 106) mayinclude establishing a communication link via a dynamic bridge server.Continuing with the above-stated example, in which an object may betransferred by dragging the object onto an icon representing, e.g., thefirst dynamic bridge end, the object may be transferred via acommunication link (e.g., as discussed above) to a dynamic bridgeserver. The dynamic bridge server may then transfer the object via acommunication link to the second dynamic bridge end. Additionally, ifthe second dynamic bridge end is not active (e.g., the client electronicdevice is not currently connected to the communication networksupporting the communication link), the dynamic bridge server may storethe object and transfer it once the second dynamic bridge end is onceagain active. Transferring the object to the second dynamic bridge endmay be based upon a location of the second dynamic bridge end stored by,and/or accessible by, the dynamic bridge server. In such an example, theobject may be transferred from the first dynamic bridge end to thesecond dynamic bridge end, and may not require that the first dynamicbridge end maintain location information relative to the second dynamicbridge end. As such, it may only be necessary for the dynamic bridgeserver to store, and/or access, the location of each of the firstdynamic bridge end and the second dynamic bridge end.

Transferring the object between the first dynamic bridge end and thesecond dynamic bridge end, at process block 104, may include depositingthe object into a repository, at process block 108. A repository mayinclude, for example, a folder within a file system, an electronicmailbox, a database, or the like. As discussed above, the first dynamicbridge end and the second dynamic bridge end may each have a movable endpoint location, e.g., which may be moved by dragging-and-dropping, etc.,an icon representing the dynamic bridge end within a graphical userinterface of a client electronic device. The end point location of thefirst dynamic bridge end and/or the second dynamic bridge end may bemoved to a desired repository. When an object is transferred to thefirst dynamic bridge end or the second dynamic bridge end, the objectmay be deposited into the repository (at process block 108) includingthe respective dynamic bridge end.

The method herein may, at least in part, allow two (or more) homogenousor heterogeneous environments to be connected. As such, transferring theobject between the first dynamic bridge end and the second dynamicbridge end, at process block 104, may include transcoding the objectfrom a first object type to a second object type, at process block 110.Continuing with the above-description, in which transferring the object,in process block 104, may include depositing the object into arepository, in process block 108, transferring the object may alsoinclude transcoding the object (at process block 110), e.g., from aninitial format into a format corresponding to the repository.Additionally/alternatively user preferences and/or system rules may beimplemented for determining a transcoding format of the object. Forexample, an object in the form of a Microsoft Word document may betransferred from the first dynamic bridge end, associated with a firstclient electronic device, to the second dynamic bridge end, associatedwith a second client electronic device. The second dynamic bridge endmay be located within an electronic mailbox. In such an example,transferring the object may include transcoding the Microsoft Worddocument into an email format and/or inserting the Microsoft Worddocument as an attachment to an email.

Transcoding the object from a first object type to a second object typemay be achieved through the use of adapters, e.g., which may be selectedbased upon individual destination repository API's. In an embodiment inwhich transferring the object (at process block 104) includesestablishing a communication link (at process block 106) via a dynamicbridge server, the dynamic bridge server may transcode the object (atprocess block 110), e.g., based upon an end point location of thereceiving (e.g., destination) dynamic bridge end, which may be stored bythe dynamic bridge server. In other embodiments, the object may betranscoded by the receiving dynamic bridge end. The first dynamic bridgeend and/or the second dynamic bridge end may include adapters necessaryfor transcoding objects corresponding to a user preference and/or a endpoint location repository type. Adapters for transcoding may be includedwith the dynamic bridge ends when the first dynamic bridge end and thesecond dynamic bridge end are generated (e.g., in response to receivinga request for the first dynamic bridge end in process block 100, and inresponse to transmitting the capability for the second dynamic bridgeend in process block 102). Additionally/alternatively, adapters fortranscoding may be retrieved by/pushed to the first dynamic bridge endand/or the second dynamic bridge end whenever a bridge end is moved to anew end point location and/or whenever need/requested.

Additionally, the method may include storing the object on a computerreadable medium (at process block 112). The computer readable medium mayinclude, but is not limited to, a hard disk drive; a solid state drive,a tape drive; an optical drive; a RAID array; a random access memory(RAM); and a read-only memory (ROM), for example. The object may bestored (at process block 112) in the original format and/or in thetranscoded format.

For the following discussion of exemplary implementations, dynamicbridge process 10 is going to be described as a server-side process thatmay interface with an email system (e.g., including email serverapplication 20 and one or more email client applications 22, 24, 26, 28)for generating one or more dynamic bridge ends and for transferringobject therebetween. However, as discussed above, this exemplaryimplementation is only one of several possible implementations, andshould not be construed as a limitation of the present disclosure.

Referring also to FIG. 3, email client application 22 may render emailuser interface 150. Through email user interface 150 user 46 may createa dynamic bridge. For example, user 46 may select, via onscreen pointer152 (which may be controlled by a pointing device such as a mouse, notshown), “File” from the option menu of email user interface 150.Selecting “File” from the option menu of email user interface 150 mayresult in email client application 22 (alone or in conjunction withdynamic bridge process 10 and/or email server application 20) renderingpull-down menu 154. Pull-down menu 154 may include various options,including the option “Create Bridge.”

Referring also to FIG. 4, selecting, via onscreen pointer 152, “CreateBridge” option from pull-down menu 154 may result in dynamic bridgeprocess 10 (alone or in conjunction with one or more of email clientapplication 22 and email server application 20) rendering attribute menu156. While attribute menu 156 is shown including four options (namely“bi-directional”, “replicate”, “keep copy”, and “format object todestination”), this is for illustrative purposes only, and should not beconstrued as a limitation of the present disclosure, as the number andnature of options included within attribute menu 156 may vary accordingto user need and design preference.

User 46 may enter the identity of the other party (e.g., user 48) to thedynamic bridge, e.g., by inputting user 48's email address in recipientblock 158. Additionally, using onscreen pointer 152, user 46 mayestablish the desired attributes for the dynamic bridge, which will bedescribed in greater detail below. For example, user 46 may select, viaonscreen pointer 152, “bi-directional” to provide for a dynamic bridgethat may allow for the bi-directional transfer of objects. Similarly,user 46 may select “replicate” to allow the dynamic bridge ends to bereplicated. User 46 may also select “keep copy” to allow a copy of theobject to be retained by the originator. Further, user 46 may select“format object to destination” to allow objects transferred via thedynamic bridge to be formatted according to the destination location.

Once user 46 has selected the desired dynamic bridge attributes fromattribute menu 156, user 46 may select, via onscreen pointer 152, createbutton 160. Selecting create button 160 may result in dynamic bridgeprocess 10 (alone or in conjunction with one or more of email clientapplication 22, email client application 24, and/or email serverapplication 20) receiving a request for a first dynamic bridge end atthe first device (e.g., at client electronic device 38) and transmittinga capability for a second dynamic bridge end at a second device (e.g.,at client electronic device 40 associated with user 48). The firstdynamic bridge end and the second dynamic bridge end may create a pathfor transmission of an object (e.g., between the dynamic bridge end andthe second dynamic bridge end).

Continuing with the above-stated example, and referring also to FIG. 5,dynamic bridge process 10 may, in response to receiving a request forthe first dynamic bridge end at the first device, generate a firstdynamic bridge end, e.g., which may be received by user 46 via emailclient application 22. For example, the first dynamic bridge end (e.g.,which may be represented by icon 200) may be received as an embeddedfeature of, or attachment to, dynamic bridge request notice 202.Similarly, and referring also to FIG. 6, dynamic bridge process 10 maytransmit a capability for a second dynamic bridge end, e.g., which maybe received by user 48 via email client application 24 at clientelectronic device 40. Transmitting the capability for the second dynamicbridge end may include transmitting the information necessary toestablish and/or generate the second dynamic bridge end at the seconddevice. For example, the second dynamic bridge end (e.g., which may berepresented by icon 204) may be received as an embedded feature of, orattachment to, dynamic bridge request notice 206. While the first devicehas hereinabove been described as a client electronic device, the firstdevice may additionally/alternatively be a server (e.g., server computer12). Further, while the second device has been described hereinabove asa client electronic device, the second device mayadditionally/alternatively be a server (e.g., server computer 12 and/oranother server computer; not shown).

The first dynamic bridge end and/or the second dynamic bridge end mayinclude a movable end point location, e.g., which may drag-and-dropped,cut-and-pasted, etc. For example, and referring to FIG. 7, user 46 maymove the end point location of the first dynamic bridge end by draggingicon 200 from bridge request notice 202 (e.g., by click and holdingusing onscreen pointer 152). User 46 may then drop the first dynamicbridge end at a desired end point location for the first dynamic bridgeend. For example, as shown user 46 may drop icon 200 in folder 208 inthe electronic mailbox “Read” associated with email client application22. Once dropped in folder 208, the first dynamic bridge end may have anend point location of folder 208 within the electronic mailbox “Read”associated with email client application 22. As discussed above, variousadditional/alternative techniques may be utilized for moving the endpoint location of the first and second dynamic bridge ends. Referringalso to FIG. 8, in a similar manner, user 48 may move the second dynamicbridge end to the desktop in the user interface 250 of notebook computer40, e.g., as indicated by icon 204.

When the first dynamic bridge end and the second dynamic bridge end areinitially generated (e.g., in response to the received request for thefirst dynamic bridge end and the transmitted capability for the seconddynamic bridge end), the location of each bridge end (i.e., in dynamicbridge request notices 202, 206) may be based upon, e.g., systemsettings. When the endpoint location of the first dynamic bridge end ismoved (e.g., to folder 208) location information associated with thefirst dynamic bridge end may be updated. In a peer-to-peer system, thefirst dynamic bridge end may transmit its new location information tothe second dynamic bridge end. In a central server controlled system,the first dynamic bridge end may transmit its new location informationto the a dynamic bridge server (e.g., server computer 12) which maystore the location information for the first dynamic bridge end, e.g.,in a database or other repository. The location information associatedwith the second dynamic bridge end may be similarly updated when the endpoint location of the second dynamic bridge end is moved. Variousmethods and mechanisms for maintaining current location informationregarding each dynamic bridge end may equally be employed.

As mentioned above, the first dynamic bridge end and the second dynamicbridge end may create a path for transmission of an object. Dynamicbridge process 10 may enable an object (e.g., word processing document252 in the illustrated example) to be transferred between the firstdynamic bridge end and the second dynamic bridge end via the pathcreated for transmission of the object (e.g., which may include acommunication link). As shown in FIG. 8, user 48 may drag document ontoicon 204 using onscreen pointer 152. In response to document 252 beingdragged onto icon 204 (which may represent the second dynamic bridgeend), dynamic bridge process 10 may transfer document 252 between thefirst dynamic bridge end and the second dynamic bridge end (i.e., maytransfer document 252 from the second dynamic bridge end, represented byicon 204, to the first dynamic bridge end, represented by icon 200). Inaddition/as an alternative to dragging the object onto the icon, theobject may by cut-and-pasted onto the icon representing the dynamicbridge end.

Transferring the object between the first dynamic bridge end and thesecond dynamic bridge end may include establishing a communication link(e.g., which may be a path for transmission of the object) between thefirst dynamic bridge end and the second dynamic bridge end. Consistentwith the illustrative embodiment, dynamic bridge process 10 mayinterface with an email system (e.g., with one or more of email serverapplication 20 and email client applications 22, 24, 26, 28).Accordingly, establishing a communication link between the first dynamicbridge end and the second dynamic bridge end may include establishing acommunication link via the email system. However, even in an embodimentin which one or more of the first dynamic bridge end and the seconddynamic bridge end may have an end point location within an electronicmailbox, dynamic bridge process may utilize a communication link otherthan an email system (e.g., enterprise service bus, web service call, orthe like) for transferring the object. Continuing with the above-statedexample, dynamic bridge process 10 may transfer document 252, e.g.,embedded in or as an attachment to an email sent from email clientapplication 24 (e.g., which may reside on client electronic device 40).Of course, other mechanisms may be utilized for transferring document252 via a communication link utilizing the email system.

As discussed above, transferring the object between the first dynamicbridge end and the second dynamic bridge end may include transferringthe object directly between the first dynamic bridge end and the seconddynamic bridge end (e.g., the path created for transmission of theobject may include a direct path between the first dynamic bridge endand the second dynamic bridge end). Additionally/alternatively, dynamicbridge process 10 may transfer the object between the first dynamicbridge end and the second dynamic bridge end including establishing acommunication link via a dynamic bridge server (e.g., the path createdfor transmission of the object may include a path via a dynamic bridgeserver). For example, transferring the object may include transferringthe object from the second dynamic bridge end (in the illustratedexample) to the dynamic bridge server (e.g., to a server-side dynamicbridge process 10 residing on server computer 12). Server-side dynamicbridge process 10 may then transfer the object to the first dynamicbridge end. In such an embodiment, it may not be necessary for the firstdynamic bridge end and the second dynamic bridge end to maintainlocation information associated with the other dynamic bridge end.Location information associated with the first dynamic bridge end andthe second dynamic bridge end may be maintained by the dynamic bridgeserver, e.g., which may forward the object from the originating dynamicbridge end to the destination dynamic bridge end.

Transferring the object between the first dynamic bridge end and thesecond dynamic bridge end may include transcoding the object. Continuingwith the above-stated example, when initiating the dynamic bridge, user46 may have defined a dynamic bridge attribute to format the objectaccording to the destination location. Further, in the illustratedexample, user 46 may have moved the location end point of the firstdynamic bridge end into an electronic mailbox (e.g., into folder 208).Accordingly, consistent with the attributed defined for the dynamicbridge, objects transferred to the first dynamic bridge end may beformatted as email (e.g., corresponding to the end point location of thefirst dynamic bridge end being in an electronic mailbox). For example,document 252 transferred to the first dynamic bridge end may betranscoded 110 to provide an email object. As such, the content ofdocument 252 may be formatted as an email and/or document 252 may beprovided as an attachment to an email.

Transcoding objects transferred between the first dynamic bridge end andthe second dynamic bridge end may utilize adapters that may transcodevarious source objects into desired output objects. The adapters may beincluded with the first dynamic bridge end and/or the second dynamicbridge_end. Additionally/alternatively, the adapters may reside on aserver (e.g., server computer 12). An object transferred between thefirst dynamic bridge end and the second dynamic bridge end via a dynamicbridge server may be transcoded by the dynamic bridge server.Additionally/alternatively, transcoding may be carried out utilizing aweb services paradigm. For example, when an object is received by (ortransmitted from) a dynamic bridge end, a web services call may be madeto a dynamic bridge server, e.g., which may provide transcodingservices. Various additional/alternative embodiments may similarly beutilized.

Transferring may include depositing the object into a repository.Continuing with the above-stated example, and referring also to FIG. 9,as described above, the first dynamic bridge end may have been movedinto folder 208 of an electronic mailbox (e.g., as indicated by icon 200associated with folder 208). In this example, folder 208 may be therepository. When document 252 is transferred 104 between the firstdynamic bridge end and the second dynamic bridge end, dynamic bridgeprocess 10 may deposit document 252 into folder 208 (e.g., as transcodedobject 254 in the form of an email). While the repository in theexemplary embodiment is a folder within and electronic mailbox, thisshould not be construed as a limitation of the present disclosure, asother repositories (e.g., a database, a file system, a teamroom, etc.)may equally be utilized.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

Having thus described the invention of the present application in detailand by reference to embodiments thereof, it will be apparent thatmodifications and variations are possible without departing from thescope of the invention defined in the appended claims.

1-27. (canceled)
 28. A method comprising: creating a first dynamicbridge end of a dynamic bride at a first device in response to receivinga request for the first dynamic bridge end, the first dynamic bridge endcomprising a movable end point location; and transmitting a capabilityfor a second dynamic bridge end of the dynamic bridge to a seconddevice, wherein the first dynamic bridge end and the second dynamicbridge end create a path for transmission of an object.
 29. The methodof claim 28, further comprising receiving a representation of the firstdynamic bridge end by the first device in response to creating the firstdynamic bridge end.
 30. The method of claim 29, wherein therepresentation of the first dynamic bridge end comprises an icon, thefirst dynamic bridge end being movable from one end location to anotherend location by one of dragging-and-dropping the icon,cutting-and-pasting the icon, or replication of the icon.
 31. The methodof claim 29, further comprising receiving a first dynamic bridge requestnotice by the first device, the first dynamic bridge end comprising afeature embedded in or attached to the dynamic bridge request notice.32. The method of claim 28, wherein transmitting the capability for thesecond dynamic bridge end to the second device comprises transmitting asecond dynamic bridge request notice to the second device, the seconddynamic bridge end comprising a feature embedded in or attached to thesecond dynamic bridge request notice.
 33. The method of claim 28,further comprising transmitting the object between the first dynamicbridge end and the second dynamic bridge end in response to positioningthe object on one of the first dynamic bridge end or the second dynamicbridge end.
 34. The method of claim 28, wherein the first dynamic bridgeand the second dynamic bridge each comprise one or more adapters fortransmitting objects over various communications networks.
 35. Themethod of claim 28, further comprising creating the path fortransmission of the object directly between the first dynamic bridge endand the second dynamic bridge end in response to positioning the objecton one of the first dynamic bridge end or the second dynamic bridge end.36. The method of claim 28, further comprising creating the path fortransmission of the object between the first dynamic bridge end and thesecond dynamic bridge end via a dynamic bridge server in response topositioning the object on one of the first dynamic bridge end or thesecond dynamic bridge end.
 37. The method of claim 28, furthercomprising determining the end point location of the first dynamicbridge end in response to the first dynamic bridge end being moved. 38.The method of claim 28, further comprising reporting a new end pointlocation by the first dynamic bridge end in response to the firstdynamic bridge end being moved.
 39. The method of claim 38, wherein thenew end point location is reported to one of the second dynamic bridgeend or a dynamic bridge server, wherein the dynamic bridge server storesthe end point location for each of the first dynamic bridge end and thesecond dynamic bridge end.
 40. The method of claim 28, furthercomprising transcoding the object based on an end point location of thefirst dynamic bridge end or the second dynamic bridge end where theobject is being transferred.
 41. The method of claim 28, furthercomprising presenting a dynamic bridge attribute menu in response to therequest for the first dynamic bridge end, wherein presenting the dynamicbridge attribute menu comprises: presenting a feature for entering anaddress for transmitting the capability for the second dynamic bridgeend; presenting a feature for selecting bi-directional transfer ofobjects; presenting a feature for selecting the dynamic bridge ends tobe replicated; presenting a feature for selecting to retain a copy ofthe object being transferred; and presenting a feature for selecting toformat objects being transferred by the dynamic bridge to be formattedaccording to a destination location.
 42. A system, comprising: aprocessor; a module operating on the processor for dynamic bridge objecttransfer, the module being configured to perform a set of functionscomprising: creating a first dynamic bridge end of a dynamic bridge at afirst device in response to receiving a request for the first dynamicbridge end, the first dynamic bridge end comprising a movable end pointlocation; and transmitting a capability for a second dynamic bridge endof the dynamic bridge to a second device, wherein the first dynamicbridge end and the second dynamic bridge end create a path fortransmission of an object.
 43. The system of claim 42, wherein the setof functions further comprises receiving a representation of the firstdynamic bridge end by the first device in response to creating the firstdynamic bridge end, wherein the representation of the first dynamicbridge end comprises an icon, the first dynamic bridge end being movablefrom one end location to another end location by one ofdragging-and-dropping the icon, cutting-and-pasting the icon, orreplication of the icon.
 44. The system of claim 42, wherein the set offunctions further comprises creating the path for transmission of theobject directly between the first dynamic bridge end and the seconddynamic bridge end in response to positioning the object on one of thefirst dynamic bridge end or the second dynamic bridge end.
 45. Thesystem of claim 42, wherein the set of functions further comprisescreating the path for transmission of the object between the firstdynamic bridge end and the second dynamic bridge end via a dynamicbridge server in response to positioning the object on one of the firstdynamic bridge end or the second dynamic bridge end.
 46. The system ofclaim 42, wherein the set of functions further comprises determining theend point location of the first dynamic bridge end in response to thefirst dynamic bridge end being moved.
 47. A computer program product,the computer program product comprising a computer readable storagemedium having program instructions embodied therewith, wherein thecomputer readable storage medium is not a transitory medium per se, theprogram instructions being executable by a device to cause the device toperform a method comprising: creating a first dynamic bridge end of adynamic bridge at a first device in response to receiving a request forthe first dynamic bridge end, the first dynamic bridge end comprising amovable end point location; and transmitting a capability for a seconddynamic bridge end of the dynamic bridge to a second device, wherein thefirst dynamic bridge end and the second dynamic bridge end create a pathfor transmission of an object.